<!DOCTYPE html>
<html>
    <head>
        <title>Shape Outside Circle Position Arguments - positive/negative, decimal/non-decimal</title>
        <link rel="author" title="Adobe" href="http://html.adobe.com/">
        <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
        <link rel="reviewer" title="Alan Stearns" href="mailto:stearns@adobe.com"> <!-- 2014-03-04 -->
        <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#funcdef-circle">
        <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shape-outside-property">
        <meta name="assert" content="A circle's position arguments may be in signed positive/negative or
                                     decimal/non-decimal format.">
        <meta name="flags" content="ahem dom">
        <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1">
        <script src="/resources/testharness.js"></script>
        <script src="/resources/testharnessreport.js"></script>
        <script src="support/parsing-utils.js"></script>
    </head>
    <body>
        <div id="log"></div>
        <script type="text/javascript">
            var valid_circle_radii_tests = [
                {
                  "actual": "circle(at +50px)",
                  "expected_inline": "circle(at 50px 50%)",
                  "expected_computed": "circle(at 50px 50%)"
                },
                {
                  "actual": "circle(at -50px)",
                  "expected_inline": "circle(at -50px 50%)",
                  "expected_computed": "circle(at -50px 50%)"
                },
                {
                  "actual": "circle(at +50%)",
                  "expected_inline": "circle(at 50% 50%)",
                  "expected_computed": "circle(at 50% 50%)"
                },
                {
                  "actual": "circle(at -50%)",
                  "expected_inline": "circle(at -50% 50%)",
                  "expected_computed": "circle(at -50% 50%)"
                },
                {
                  "actual": "circle(at left +50px)",
                  "expected_inline": "circle(at 0% 50px)",
                  "expected_computed": "circle(at 0% 50px)"
                },
                {
                  "actual": "circle(at left +50%)",
                  "expected_inline": "circle(at 0% 50%)",
                  "expected_computed": "circle(at 0% 50%)"
                },
                {
                  "actual": "circle(at right -50px)",
                  "expected_inline": "circle(at 100% -50px)",
                  "expected_computed": "circle(at 100% -50px)"
                },
                {
                  "actual": "circle(at right -50%)",
                  "expected_inline": "circle(at 100% -50%)",
                  "expected_computed": "circle(at 100% -50%)"
                },
                {
                  "actual": "circle(at +50px top)",
                  "expected_inline": "circle(at 50px 0%)",
                  "expected_computed": "circle(at 50px 0%)"
                },
                {
                  "actual": "circle(at +50% top)",
                  "expected_inline": "circle(at 50% 0%)",
                  "expected_computed": "circle(at 50% 0%)"
                },
                {
                  "actual": "circle(at -50px bottom)",
                  "expected_inline": "circle(at -50px 100%)",
                  "expected_computed": "circle(at -50px 100%)"
                },
                {
                  "actual": "circle(at -50% bottom)",
                  "expected_inline": "circle(at -50% 100%)",
                  "expected_computed": "circle(at -50% 100%)"
                },
                {
                  "actual": "circle(at +50px +50px)",
                  "expected_inline": "circle(at 50px 50px)",
                  "expected_computed": "circle(at 50px 50px)"
                },
                {
                  "actual": "circle(at +50% +50%)",
                  "expected_inline": "circle(at 50% 50%)",
                  "expected_computed": "circle(at 50% 50%)"
                },
                {
                  "actual": "circle(at -50px -50px)",
                  "expected_inline": "circle(at -50px -50px)",
                  "expected_computed": "circle(at -50px -50px)"
                },
                {
                  "actual": "circle(at +50px -50px)",
                  "expected_inline": "circle(at 50px -50px)",
                  "expected_computed": "circle(at 50px -50px)"
                },
                {
                  "actual": "circle(at -50px +50px)",
                  "expected_inline": "circle(at -50px 50px)",
                  "expected_computed": "circle(at -50px 50px)"
                },
                {
                  "actual": "circle(at +50% -50%)",
                  "expected_inline": "circle(at 50% -50%)",
                  "expected_computed": "circle(at 50% -50%)"
                },
                {
                  "actual": "circle(at -50% +50%)",
                  "expected_inline": "circle(at -50% 50%)",
                  "expected_computed": "circle(at -50% 50%)"
                }
            ];
            generate_tests( ParsingUtils.testInlineStyle,
                            ParsingUtils.buildTestCases(valid_circle_radii_tests, 'inline') );
            generate_tests( ParsingUtils.testComputedStyle,
                            ParsingUtils.buildTestCases(valid_circle_radii_tests, 'computed') );
        </script>
    </body>
</html>
